[個人專案] 網頁計數器徽章 View Counter Badge —— 瀏覧數別再送人啦!以 Cloudflare Workers D1 實作適合純前端網頁的計數器

6 分鐘閱讀 View counter badge

view-counter-badge

Image Creator from Microsoft Bing DALL•E 3

View counter badge
網頁計數器是一個電腦程式,可以顯示特定網頁瀏覽的次數。
當網頁瀏覽器訪問此網頁時,網頁計數器就會加一。

這是一種歷史悠久的小工具,從我十幾年前開始使用部落格時 Blogger 就已經內建了這個功能,網路上也有很多現成的服務,為什麼我們仍應自己做呢?

為什麼你應該停止使用第三方計數器

當有人訪問我的部落格時,它會向 計數器的伺服器 發送一個訊息說「blog.maki0419.com 被訪問了,請將訪問數 +1,並將現有數字從資料庫讀出來給我!」這個計數器伺服器會 保存我的訪問數據(和用戶數據),並 執行一段程式碼 來顯示數字。通常這段程式的原始碼我看不見它,它也可能隨時被替換成惡意程式碼。根據我的嵌入型式,或許人家還能獲得 SEO 加分呢!

你可能會說「我不想為了這個小功能而多開一台伺服器和資料庫,這是一個合理的取捨

不不不,現在我就告訴你如何在 Cloudflare 上以 Worker 和 D1 Database 實現計數器功能,不用維護伺服器免費!你將擁有程式碼和數字的控制權,保護你的網站,保護你的用戶

這是一個純雲端的解決方案,很適合用在純前端應用程式或是任何類型的網頁。
專案是回傳 SVG badge,但是簡單修改就能變成回傳數字做為 API 使用(範例),泛用性非常高。

不過它並不是完全免費,Free plan 有著每日 100,000 次的上限。
若你的網站有著超過 十萬次 的日瀏覧量,請訂閱 Paid plan (5 美元/月) 以提升至每日 五千萬次
請參考官方文件說明。

設定步驟

GitHub


https://github.com/jim60105/worker-view-counter-badge

使用你的Counter badge

在你的網頁中加入 img 標籤,src 就是{worker-name}.{cloudflare-id}.workers.dev

<img src="https://{worker-name}.{cloudflare-id}.workers.dev" alt="View counter badge" />

View counter badge
你的徽章是不是長得和我不一樣?
說明文件中查看更多客制化選項😎

延伸閱讀


琳的備忘手札: Cloudflare Workers入門 ─ 簡介

回覆

你可以使用 Mastodon 或其他 ActivityPub/Fediverse 帳號來公開回覆此文章。現有的公開回覆顯示在下方。

打開文章